package com.fafa.swing.base;

import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.KeyEvent;

/**
 * @author : fafa
 * @version V1.0
 * @Project: SwingTest
 * @Package com.fafa.swing
 * @Description: JMenuDemo1
 * @date Date : 2019年11月25日 21:56
 */
public class JMenuDemo1 extends JMenuBar {

    public JMenuDemo1(){
        add(createFileMenu());
        add(createEditMenu());
        setVisible(true);
    }
    public static void main(String[] args) {
        JFrame jFrame = new JFrame("菜单栏");
        jFrame.setBounds(500,500,300,200);
        jFrame.setJMenuBar(new JMenuDemo1());
        jFrame.setVisible(true);
        jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }

    private JMenu createFileMenu(){
        JMenu jMenu = new JMenu("文件(F)");
        jMenu.setMnemonic(KeyEvent.VK_F);   //设置快速访问符
        JMenuItem jMenuItem = new JMenuItem("新建(N)",KeyEvent.VK_N);
        jMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N, ActionEvent.CTRL_MASK));
        jMenu.add(jMenuItem);

        jMenuItem = new JMenuItem("打开(O)",KeyEvent.VK_O);
        jMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O, ActionEvent.CTRL_MASK));
        jMenu.add(jMenuItem);

        jMenuItem = new JMenuItem("保存(S)", KeyEvent.VK_S);
        jMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S, ActionEvent.CTRL_MASK));
        jMenu.add(jMenuItem);

        jMenu.addSeparator();

        jMenuItem = new JMenuItem("退出(E)",KeyEvent.VK_E);
        jMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_E, ActionEvent.CTRL_MASK));
        jMenu.add(jMenuItem);

        return jMenu;

    }

    //定义编辑菜单
    private JMenu createEditMenu(){
        JMenu menu = new JMenu("编辑(E)");
        menu.setMnemonic(KeyEvent.VK_E);

        JMenuItem jMenuItem = new JMenuItem("撤销(U)",KeyEvent.VK_U);
        jMenuItem.setEnabled(false);
        menu.add(jMenuItem);
        menu.addSeparator();
        jMenuItem = new JMenuItem("剪贴(T)", KeyEvent.VK_T);
        menu.add(jMenuItem);
        jMenuItem = new JMenuItem("复制(C)", KeyEvent.VK_C);
        menu.add(jMenuItem);
        menu.addSeparator();
        JCheckBoxMenuItem checkBoxMenuItem = new JCheckBoxMenuItem("自动换行");
        menu.add(checkBoxMenuItem);
        return menu;
    }

}
